import java.util.Scanner;

public class Main{


    public static void main(String[] args){

        Scanner scanner = new Scanner(System.in);
        System.out.println("\nWelcome to Mobile Banking");
        System.out.println("\nEnter Your Full Name");
        String Name= scanner.nextLine();
          setpin();


        System.out.println("\nYour Current Balance is 500.0");
        boolean quit = false;

        System.out.println("\nChoose Action\n");

        printActions();
        while (!quit) {

            int action = scanner.nextInt();
            switch (action) {
                case 1:
                    CheckBalance();
                    break;

                case 2:
                    Withdrawl();
                    break;

                case 3:
                    AddAmount();
                    break;

                case 4:
                    ChangePin();
                    break;

                case 5:
                    Transation();
                    break;
                case 6:
                    Quit();
                    break;

            }
            System.out.println("\nEnter your Action(1-BALANCE, 2-TRANSFER, 3-ADD MONEY, 4-CHANGE PIN, 5-E-STATEMENT, 6-QUIT)");
        }
    }
    public static void printActions(){
        System.out.println("                      Welcome to Mobile Banking\n\n" +
                           "1.ACCOUNT BALANCE                                 2.TRANSFER MONEY\n\n"+
                           "3.ADD MONEY                                       4.CHANGE PIN\n\n"+
                           "5.E-STATEMENT                                     6. QUIT\n");
    }
    public static void Quit(){
        System.out.println("\nThank you for using Mobile Banking :)");
        System.exit(0);
    }
    static double AccountBalance =500;
    static int Amountadded ;
    static int AmountWithdrawl;
    static String b;
    static int count=0;
    static int sum=0;
    static int arr[] = new int[100];
    static int why[]= new int[100];
   static Scanner a=new Scanner(System.in);
    public static void Withdrawl(){
        System.out.println("\nEnter Person Name");
        String person = a.nextLine();
        System.out.println("Enter Person Account Number");
        String Number = a.nextLine();

        System.out.println("\nEnter the amount you Want to transfer");
        AmountWithdrawl = a.nextInt();
        if(AccountBalance>AmountWithdrawl){
            sum++;
            AccountBalance=AccountBalance-AmountWithdrawl;
            System.out.println("\n★Rs "+AmountWithdrawl+" was Successfully Transferred to " + person);
            for (int j =sum ; j<sum+1 ; j++){
                why[j]=AmountWithdrawl;
            }
        }else
            System.out.println("Insufficient Balance");

    }
    public static void AddAmount(){
        System.out.println("\nEnter the amount you want to transfer in your Account\n");
        Amountadded=a.nextInt();
        if(Amountadded>0){
            AccountBalance += Amountadded;
            count++;
            System.out.println("\n★ Rs "+ Amountadded +" Added Successfully in your Bank Account");
            for (int i =count ; i<count+1 ; i++){
                arr[i]=Amountadded;
            }
        }else{
            System.out.println("\nError : Amount not added ");
        }
    }
    public static void CheckBalance(){
        System.out.println(AccountBalance);
    }
    public static void Transation(){
        System.out.println("\nYour E-transactions are");
        for (int i=1 ; i<count+1 ; i++){
            System.out.println("Money Added = " + arr[i]);
        }

        for (int j = 1; j < sum + 1; j++) {
            System.out.println("Money Transferred = " + why[j]);
        }

    }
    public static boolean setpin(){
        System.out.println("\nEnter your 4 Digit Number Pin ");
        b = a.nextLine();
        if( String.valueOf(b).length()==4) {
            if (b == null) {
                System.out.println("\nPin is null");
            }
            try {
                double  currentPin= Double.parseDouble(b);
                System.out.println("\n★ Account Verified Successfully.Please Do not Share your Pin ");

            } catch (NumberFormatException nfe) {
                System.out.println("\nInvalid Pin");
                System.exit(0);
                return false;
            }
        }else{
            System.out.println("\nINVALID PIN");
            System.out.println("\nEnter your 4 Digit Number Pin ");
            b = a.nextLine();
            if( String.valueOf(b).length()==4) {
                if (b == null) {
                    System.out.println("\nPin is null");
                }
                try {
                    double  currentPin= Double.parseDouble(b);
                    System.out.println("\n★ Account Verified Successfully.Please Do not Share your Pin ");

                } catch (NumberFormatException numberFormatException) {
                    System.out.println("\nInvalid Pin");
                    System.exit(0);
                    return false;
                }
            }else{
                System.out.println("\nINVALID PIN");
                System.exit(0);
                return false;
            }
            System.exit(0);
            return false;
        }
        return true;

    }
    public static void ChangePin(){
        String temp;
        System.out.println("Enter Current Pin");
        String pin=a.nextLine();
        if (String.valueOf(pin).equals(b)) {
            System.out.println("\nPin Verified Successfully");
        } else{
            System.out.println("\nInvalid Pin Number");
            System.exit(0);
        }
        System.out.println("\nSet New Pin");
        String newPin = a.nextLine();
        System.out.println("\nPin Updated Successfully");
        temp = b;
        b=newPin;
        newPin=temp;
    }
}

